<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<title>module RDoc - rdoc: Ruby Standard Library Documentation</title>


<script src="./js/navigation.js" defer></script>
<script src="./js/search.js" defer></script>
<script src="./js/search_index.js" defer></script>
<script src="./js/searcher.js" defer></script>
<script src="./js/darkfish.js" defer></script>

<script src="./js/jquery-3.2.0.min.js"></script>

<script src="./js/vue.min.js"></script>
<script src="./js/js.cookie.min.js"></script>

<link href="./css/fonts.css" rel="stylesheet">
<link id='rdoccss' href="./css/rdoc.css" rel="stylesheet">
<link href="./css/carbon17.css" rel="stylesheet">

<script type="text/javascript">
  var rdoc_rel_prefix = "./";
  var index_rel_prefix = "./";
  var darkModeCsseHref = "./css/rdoc-dm.css"
  var defaultModeCssHref = "./css/rdoc.css"
  // var cssDarkmode = Cookies.get('darkmode');
  
  if( Cookies.get("darkmode") == "true") {
	$('#rdoccss').attr("href", darkModeCsseHref);
}

//  https://cssdeck.com/blog/simple-jquery-stylesheet-switcher/

document.write('<style type="text/css">body{display:none}</style>');

</script>


</head>
<body id="top" role="document" class="module">
  <!-- this is class.html -->

  <div id='actionbar' >
    <div class='wrapper mdiv'>
      <ul class='grids g0'></ul>
    </div> 
    <!-- VERSION HEADER for 3.3.0.preview2 NOT FOUND -->
  </div> <!-- end action bar -->

  <div class='wrapper hdiv'>

    


    <nav id='vapp' role="navigation">
    <div id="project-navigation">
      <div id="home-section" role="region" title="Quick navigation" class="nav-section">
  <h2><a href="./index.html" rel="home">Home</a></h2>

  <div id="table-of-contents-navigation"  >
    <a href="./table_of_contents.html#pages">Pages</a>
    <a href="./table_of_contents.html#classes">Classes</a>
    <a href="./table_of_contents.html#methods">Methods</a>
  </div>
</div>

      <div id="search-section" role="search" class="project-section initially-hidden">
  <form action="#" method="get" accept-charset="utf-8">
    <div id="search-field-wrapper">
      <input id="search-field" role="combobox" aria-label="Search"
             aria-autocomplete="list" aria-controls="search-results"
             type="text" name="search" placeholder="Search" spellcheck="false"
             title="Type to search, Up and Down to navigate, Enter to load">
    </div>

    <ul id="search-results" aria-label="Search Results"
        aria-busy="false" aria-expanded="false"
        aria-atomic="false" class="initially-hidden"></ul>
  </form>
</div>

    </div>


    
<div class="nav-section">
  <h3>Table of Contents</h3>

  <ul class="link-list" role="directory">
    <li><a href="#module-RDoc-label-Roadmap">Roadmap</a>
    <li><a href="#module-RDoc-label-Credits">Credits</a>
  </ul>
</div>


    <button id='toggleThing' @click="toggleNav()" >Show/hide navigation</button>
    <div :class="isOpen ? 'block' : 'hidden' " id='toggleMe'>
      <div id="class-metadata">
        
        
        
        
        
<!-- Method Quickref -->
<div id="method-list-section" class="nav-section">
  <h3>Methods</h3>

  <ul class="link-list" role="directory">
    <li ><a href="#method-c-home">::home</a>
    <li ><a href="#method-c-load_yaml">::load_yaml</a>
  </ul>
</div>

      </div>
     </div>
    </nav>


    <div id='extraz'><div class='adzbox-index'  >
      
     </div>         
    </div>

    <main role="main" aria-labelledby="module-RDoc">
    <h1 id="module-RDoc" class="module">
      module RDoc
    </h1>

    <section class="description">
    
<p><a href="RDoc/RDoc.html"><code>RDoc</code></a> produces documentation for Ruby source files by parsing the source and extracting the definition for classes, modules, methods, includes and requires.  It associates these with optional documentation contained in an immediately preceding comment block then renders the result using an output formatter.</p>

<p>For a simple introduction to writing or generating documentation using <a href="RDoc/RDoc.html"><code>RDoc</code></a> see the README.</p>

<h2 id="module-RDoc-label-Roadmap">Roadmap<span><a href="#module-RDoc-label-Roadmap">&para;</a> <a href="#top">&uarr;</a></span></h2>

<p>If you think you found a bug in <a href="RDoc/RDoc.html"><code>RDoc</code></a> see Bugs at <code>CONTRIBUTING</code></p>

<p>If you want to use <a href="RDoc/RDoc.html"><code>RDoc</code></a> to create documentation for your Ruby source files, see <a href="RDoc/Markup.html"><code>RDoc::Markup</code></a> and refer to <code>rdoc --help</code> for command line usage.</p>

<p>If you want to set the default markup format see <a href="RDoc/Markup.html#class-RDoc::Markup-label-Supported+Formats">Supported Formats at <code>RDoc::Markup</code></a></p>

<p>If you want to store rdoc configuration in your gem (such as the default markup format) see <a href="RDoc/Options.html#class-RDoc::Options-label-Saved+Options">Saved Options at <code>RDoc::Options</code></a></p>

<p>If you want to write documentation for Ruby files see <a href="RDoc/Parser/Ruby.html"><code>RDoc::Parser::Ruby</code></a></p>

<p>If you want to write documentation for extensions written in C see <a href="RDoc/Parser/C.html"><code>RDoc::Parser::C</code></a></p>

<p>If you want to generate documentation using <code>rake</code> see <a href="RDoc/Task.html"><code>RDoc::Task</code></a>.</p>

<p>If you want to drive <a href="RDoc/RDoc.html"><code>RDoc</code></a> programmatically, see <a href="RDoc/RDoc.html"><code>RDoc::RDoc</code></a>.</p>

<p>If you want to use the library to format text blocks into HTML or other formats, look at <a href="RDoc/Markup.html"><code>RDoc::Markup</code></a>.</p>

<p>If you want to make an <a href="RDoc/RDoc.html"><code>RDoc</code></a> plugin such as a generator or directive handler see <a href="RDoc/RDoc.html"><code>RDoc::RDoc</code></a>.</p>

<p>If you want to write your own output generator see <a href="RDoc/Generator.html"><code>RDoc::Generator</code></a>.</p>

<p>If you want an overview of how <a href="RDoc/RDoc.html"><code>RDoc</code></a> works see Bugs at <code>CONTRIBUTING</code></p>

<h2 id="module-RDoc-label-Credits">Credits<span><a href="#module-RDoc-label-Credits">&para;</a> <a href="#top">&uarr;</a></span></h2>

<p><a href="RDoc/RDoc.html"><code>RDoc</code></a> is currently being maintained by Eric Hodel &lt;drbrain@segment7.net&gt;.</p>

<p>Dave Thomas &lt;dave@pragmaticprogrammer.com&gt; is the original author of <a href="RDoc/RDoc.html"><code>RDoc</code></a>.</p>
<ul><li>
<p>The Ruby parser in rdoc/parse.rb is based heavily on the outstanding work of Keiju ISHITSUKA of Nippon Rational Inc, who produced the Ruby parser for irb and the rtags package.</p>
</li></ul>

    </section>

      <section id="5Buntitled-5D" class="documentation-section">


      <section class="constants-list">
      <header>
      <h3>Constants</h3>
      </header>
      <dl>
          <dt id="ATTR_MODIFIERS">ATTR_MODIFIERS
          <dd><p><a href="RDoc/RDoc.html"><code>RDoc</code></a> modifiers for attributes</p>
          <dt id="CLASS_MODIFIERS">CLASS_MODIFIERS
          <dd><p><a href="RDoc/RDoc.html"><code>RDoc</code></a> modifiers for classes</p>
          <dt id="CONSTANT_MODIFIERS">CONSTANT_MODIFIERS
          <dd><p><a href="RDoc/RDoc.html"><code>RDoc</code></a> modifiers for constants</p>
          <dt id="DOT_DOC_FILENAME">DOT_DOC_FILENAME
          <dd><p>Name of the dotfile that contains the description of files to be processed in the current directory</p>
          <dt id="GENERAL_MODIFIERS">GENERAL_MODIFIERS
          <dd><p>General <a href="RDoc/RDoc.html"><code>RDoc</code></a> modifiers</p>
          <dt id="KNOWN_CLASSES">KNOWN_CLASSES
          <dd><p>Ruby’s built-in classes, modules and exceptions</p>
          <dt id="METHOD_MODIFIERS">METHOD_MODIFIERS
          <dd><p><a href="RDoc/RDoc.html"><code>RDoc</code></a> modifiers for methods</p>
          <dt id="VERSION">VERSION
          <dd><p><a href="RDoc/RDoc.html"><code>RDoc</code></a> version you are using</p>
          <dt id="VISIBILITIES">VISIBILITIES
          <dd><p>Method visibilities</p>
        </dl>
        </section>



                <section id="public-class-5Buntitled-5D-method-details" class="method-section">
                <header>
                <h3>Public Class Methods</h3>
                </header>

                  <div id="method-c-home" class="method-detail ">
                            <div class="method-heading">
                              <span class="method-name">home</span><span
                                class="method-args">()</span>
                              <span class="method-click-advice">click to toggle source</span>
                            </div>

                            <div class="method-description">
                              

                              <div class="method-source-code" id="home-source">
            <pre><span class="ruby-comment"># File rdoc.rb, line 123</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">home</span>
  <span class="ruby-identifier">rdoc_dir</span> = <span class="ruby-keyword">begin</span>
              <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-string">&#39;~/.rdoc&#39;</span>)
            <span class="ruby-keyword">rescue</span> <span class="ruby-constant">ArgumentError</span>
            <span class="ruby-keyword">end</span>

  <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">rdoc_dir</span>)
    <span class="ruby-identifier">rdoc_dir</span>
  <span class="ruby-keyword">else</span>
    <span class="ruby-keyword">begin</span>
      <span class="ruby-comment"># XDG</span>
      <span class="ruby-identifier">xdg_data_home</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-string">&quot;XDG_DATA_HOME&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-string">&quot;~&quot;</span>), <span class="ruby-string">&#39;.local&#39;</span>, <span class="ruby-string">&#39;share&#39;</span>)
      <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">xdg_data_home</span>)
        <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span> <span class="ruby-identifier">xdg_data_home</span>
      <span class="ruby-keyword">end</span>
      <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span> <span class="ruby-identifier">xdg_data_home</span>, <span class="ruby-string">&quot;rdoc&quot;</span>
    <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">EACCES</span>
    <span class="ruby-keyword">end</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
                              </div>
                            </div>


                          </div>

                  <div id="method-c-load_yaml" class="method-detail ">
                            <div class="method-heading">
                              <span class="method-name">load_yaml</span><span
                                class="method-args">()</span>
                              <span class="method-click-advice">click to toggle source</span>
                            </div>

                            <div class="method-description">
                              <p>Loads the best available YAML library.</p>

                              <div class="method-source-code" id="load_yaml-source">
            <pre><span class="ruby-comment"># File rdoc.rb, line 107</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier ruby-title">load_yaml</span>
  <span class="ruby-keyword">begin</span>
    <span class="ruby-identifier">gem</span> <span class="ruby-string">&#39;psych&#39;</span>
  <span class="ruby-keyword">rescue</span> <span class="ruby-constant">NameError</span> <span class="ruby-operator">=&gt;</span> <span class="ruby-identifier">e</span> <span class="ruby-comment"># --disable-gems</span>
    <span class="ruby-identifier">raise</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value">:gem</span>
  <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">LoadError</span>
  <span class="ruby-keyword">end</span>

  <span class="ruby-keyword">begin</span>
    <span class="ruby-identifier">require</span> <span class="ruby-string">&#39;psych&#39;</span>
  <span class="ruby-keyword">rescue</span> <span class="ruby-operator">::</span><span class="ruby-constant">LoadError</span>
  <span class="ruby-keyword">ensure</span>
    <span class="ruby-identifier">require</span> <span class="ruby-string">&#39;yaml&#39;</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
                              </div>
                            </div>


                          </div>

                          </section>

              </section>
              </main>



            </div>  <!--  class='wrapper hdiv' -->


<footer id="validator-badges" role="contentinfo">
<p><a href="https://validator.w3.org/check/referer">Validate</a></p>
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.4.0.</p>
<p>Based on <a href="https://github.com/ged/darkfish/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.</p>

  
    <p><p><a href="https://ruby-doc.org">Ruby-doc.org</a> is a service of <a href="https://jamesbritt.com">James Britt</a> and <a href="https://neurogami.com">Neurogami</a>, purveyors of fine <a href='https://jamesbritt.bandcamp.com/'>dance noise</a></p>
</p>
  
  </footer>

<script type="text/javascript">


  let ads  = $("#carbonads-container").children().detach();


  function swapMode() {
    var cookieName = 'darkmode';
    var cssDarkmode = Cookies.get(cookieName);
    console.log("***** swapMode! " + cssDarkmode + " *****");


    if (cssDarkmode == "true") {
      console.log("We have dark mode, set the css to light ...");
      $('#rdoccss').attr("href", defaultModeCssHref);
      $('#cssSelect').text("Dark mode");
      cssDarkmode = "false";
      console.log("swapMode! Now set cookie to " + cssDarkmode);
      Cookies.set(cookieName, cssDarkmode);

    } else {
      console.log("We not have dark mode, set the css to dark ...");
      $('#rdoccss').attr("href", darkModeCsseHref);
      $('#cssSelect').text("Light mode");
      cssDarkmode = "true";
      console.log("swapMode! Now set cookie to " + cssDarkmode);
      Cookies.set(cookieName, cssDarkmode);

    }

    console.log("  --------------- ");
  }


const vueCssApp = new Vue({
el: '#menubar',
data: {
isDark: false
},
methods: {
toggleClass: function(event){
this.isDark = !this.isDark;
}
}
})

const vueApp = new Vue({
el: '#vapp',
data: { 
isOpen: true
},

mounted() {
this.handleResize();
this.manage_mob_classes();
window.addEventListener('resize', this.handleResize)
//this.isOpen !=  (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
},
destroyed() {
window.removeEventListener('resize', this.handleResize)
},
created() {
//manage_mob_classes();
},

methods : {
isMobile() {
  return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
},

  handleResize() {
    if (!this.isMobile()) {
      this.isOpen = window.innerWidth > 800;
    }
  },

  manage_mob_classes() {
    if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
      $("nav").addClass("mob_nav");
      $("main").addClass("mob_main");
      $("#extraz").addClass("mob_extraz");
      $("#carbonads-container").addClass("mob_carbonads-container");
      this.isOpen  = false;
    } else {
      $("nav").removeClass("mob_nav") 
        $("main").removeClass("mob_main");
      $("#extraz").removeClass("mob_extraz");
      $("#carbonads-container").removeClass("mob_carbonads-container");
      this.isOpen  = true;
    }
  },

  toggleNav() {
    this.isOpen =! this.isOpen ;
    // alert("Toggle nav!");
    console.log("toggleNav() click: " + this.isOpen );
  }
}
})

$("#carbonads-container").append(ads);


$(function() {

    var darkmode = Cookies.get("darkmode");
    console.log("Document ready: " + darkmode);

    if ( darkmode  == "true" ) {
      $('#cssSelect').text("Light mode");
    } else {
      $('#cssSelect').text("Dark mode");
     }

    $('body').css('display','block');
    });

</script>

    
  </body> 
</html>

